package m1;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.MessageProperties;

import java.io.IOException;
import java.util.HashMap;
import java.util.concurrent.TimeoutException;

public class Producer {//生产者类
    public static void main(String[] args) throws IOException, TimeoutException {
        /*链接*/
        ConnectionFactory f = new ConnectionFactory();
        f.setHost("192.168.64.140");
        f.setPort(5672);/*web访问端口的端口号,管理员通道15672*/
        f.setUsername("admin");
        f.setPassword("admin");
        Connection con = f.newConnection();
        Channel c = con.createChannel();/*和服务器通信使用*/
        /*创建队列 ， 如果已经创建，不会重复创建（在服务器上创建）*/
                                        //队列名
                                        /*是否是持久队列，重启服务器还在（在磁盘存储信息）false
                                        * 是否是排他队列，独占队列  false
                                        * 是否是自动删除的队列（没有消费者时，服务器是否自动删除） false
                                        * null是队列的其他属性（键值对） */
        c.queueDeclare("hello-world",true,false,false,null);

        /*向队列发送消息*/
                                /*"" 空串是默认交换机
                                * 队列名
                                * 消息的其他参数属性 ： null
                                * 传的参数（要Byte数组）*/
        c.basicPublish("","hello-world", MessageProperties.PERSISTENT_BASIC,"Hello<".getBytes());//传的参数要是一个byte数组

    }
}